summaryrefslogtreecommitdiffstats
path: root/resources/grub/patch/reproducible/[PATCH 2_3] mkrescue: add argument --fixed-time to get reproducible uuids.eml
blob: f3ae15ecb44fc4b7cf819bdd613068597094e5d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Return-path: <grub-devel-bounces+info=gluglug.org.uk@gnu.org>
Envelope-to: info@gluglug.org.uk
Delivery-date: Fri, 04 Dec 2015 17:10:39 +0100
Received: from lists.gnu.org ([2001:4830:134:3::11])
	by web006.ispnoc.net with esmtps (TLSv1:AES256-SHA:256)
	(Exim 4.85)
	(envelope-from <grub-devel-bounces+info=gluglug.org.uk@gnu.org>)
	id 1a4swQ-00061v-Qn
	for info@gluglug.org.uk; Fri, 04 Dec 2015 17:10:39 +0100
Received: from localhost ([::1]:41769 helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <grub-devel-bounces+info=gluglug.org.uk@gnu.org>)
	id 1a4sxA-0000V7-EW
	for info@gluglug.org.uk; Fri, 04 Dec 2015 11:11:24 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:51231)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <lynxis@fe80.eu>) id 1a4swo-0000Rx-IS
	for grub-devel@gnu.org; Fri, 04 Dec 2015 11:11:03 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <lynxis@fe80.eu>) id 1a4swn-0001gC-Ia
	for grub-devel@gnu.org; Fri, 04 Dec 2015 11:11:02 -0500
Received: from mail.base45.de ([80.241.61.77]:34435)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <lynxis@fe80.eu>) id 1a4swn-0001g3-C1
	for grub-devel@gnu.org; Fri, 04 Dec 2015 11:11:01 -0500
Received: from [2001:1a80:2259:2b1a:6042:6096:1de7:42c6] (helo=lazus.yip)
	by mail.base45.de with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA256:128)
	(Exim 4.82) (envelope-from <lynxis@fe80.eu>)
	id 1a4swh-0004UO-38; Fri, 04 Dec 2015 17:10:56 +0100
From: Alexander Couzens <lynxis@fe80.eu>
To: grub-devel@gnu.org
Subject: [PATCH 2/3] mkrescue: add argument --fixed-time to get reproducible
	uuids
Date: Fri,  4 Dec 2015 17:10:43 +0100
Message-Id: <1449245444-17579-3-git-send-email-lynxis@fe80.eu>
X-Mailer: git-send-email 2.6.3
In-Reply-To: <1449245444-17579-1-git-send-email-lynxis@fe80.eu>
References: <1449245444-17579-1-git-send-email-lynxis@fe80.eu>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 80.241.61.77
Cc: Alexander Couzens <lynxis@fe80.eu>
X-BeenThere: grub-devel@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
Reply-To: The development of GNU GRUB <grub-devel@gnu.org>
List-Id: The development of GNU GRUB <grub-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/grub-devel>,
	<mailto:grub-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/grub-devel>
List-Post: <mailto:grub-devel@gnu.org>
List-Help: <mailto:grub-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/grub-devel>,
	<mailto:grub-devel-request@gnu.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: grub-devel-bounces+info=gluglug.org.uk@gnu.org
Sender: grub-devel-bounces+info=gluglug.org.uk@gnu.org

The uuid generation is based on the time.
---
 util/grub-mkrescue.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c
index 4511826..164c4e1 100644
--- a/util/grub-mkrescue.c
+++ b/util/grub-mkrescue.c
@@ -52,6 +52,7 @@ static int xorriso_arg_alloc;
 static char **xorriso_argv;
 static char *iso_uuid;
 static char *iso9660_dir;
+static time_t fixed_time;
 
 static void
 xorriso_push (const char *val)
@@ -110,6 +111,7 @@ static struct argp_option options[] = {
   {"product-version", OPTION_PRODUCT_VERSION, N_("STRING"), 0, N_("use STRING as product version"), 2},
   {"sparc-boot", OPTION_SPARC_BOOT, 0, 0, N_("enable sparc boot. Disables HFS+, APM, ARCS and boot as disk image for i386-pc"), 2},
   {"arcs-boot", OPTION_ARCS_BOOT, 0, 0, N_("enable ARCS (big-endian mips machines, mostly SGI) boot. Disables HFS+, APM, sparc64 and boot as disk image for i386-pc"), 2},
+  {"fixed-time", 't', N_("TIMEEPOCH"), 0, N_("use a fixed timestamp for uuid generation"), 2},
   {0, 0, 0, 0, 0, 0}
 };
 
@@ -153,6 +155,8 @@ enum {
 static error_t 
 argp_parser (int key, char *arg, struct argp_state *state)
 {
+  char *b;
+
   if (grub_install_parse (key, arg))
     return 0;
   switch (key)
@@ -212,6 +216,15 @@ argp_parser (int key, char *arg, struct argp_state *state)
       xorriso = xstrdup (arg);
       return 0;
 
+    case 't':
+      fixed_time = strtoll (arg, &b, 10);
+      if (*b !='\0') {
+        printf (_("invalid fixed time number: %s\n"), arg);
+        argp_usage (state);
+        exit (1);
+      }
+      return 0;
+
     default:
       return ARGP_ERR_UNKNOWN;
     }
@@ -541,7 +554,7 @@ main (int argc, char *argv[])
   {
     time_t tim;
     struct tm *tmm;
-    tim = time (NULL);
+    tim = fixed_time != -1 ? fixed_time : time (NULL);
     tmm = gmtime (&tim);
     iso_uuid = xmalloc (55);
     grub_snprintf (iso_uuid, 50,
-- 
2.6.3


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel